#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDockWidget>
#include<QLabel>
#include<QPushButton>
#include<QVBoxLayout>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //给主窗口创建一个子窗口
    QDockWidget* dockWidget = new QDockWidget();
    //使用addDockWidget 把浮动窗口加入到子窗口
    this->addDockWidget(Qt::LeftDockWidgetArea, dockWidget);

    //给浮动窗口设置标题
    dockWidget->setWindowTitle("窗口！");
    //给浮动窗口内部添加控件
    //不能直接添加，需要创建出一个单独的QWidget，把要添加的控件加入到QWidget中
    //然后再把这个QWidget设置到dockWidget中

    QWidget* container = new QWidget();
    dockWidget->setWidget(container);
    //创建布局管理器，把布局管理器设置到QWidget中
    QVBoxLayout* layout = new QVBoxLayout;
    container->setLayout(layout);

    //创建其它控件添加到layout中
    QLabel* label = new QLabel("label!");
    QPushButton* button = new QPushButton("button！");
    layout->addWidget(label);
    layout->addWidget(button);

    //设置浮动窗口允许停靠位置
    dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

}

MainWindow::~MainWindow()
{
    delete ui;
}

